package com.bosssoft.cloud.wechat.core.handler;

import com.bosssoft.cloud.wechat.core.bean.msg.dto.ContentDTO;
import com.bosssoft.cloud.wechat.core.bean.param.portal.WxMsgParam;
import com.bosssoft.cloud.wechat.infrastructure.util.XmlUtil;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpSession;

/**
 * 回复文本handler
 * <p>
 * 处理返回类型为文本消息的情况
 *
 * @author wcy create on 2021/6/18 15:04 下午
 */

@Component
public class TextHandler {

    /**
     * 到这里的请求代表需要公众号回复给用户文本消息
     * 而textRouter是根据用户的“文本消息请求”，决定回复给用户什么类型的消息
     * 需要区分
     * <p>
     * ps:且经过router后，传入进来的一定在switch等处有对应的处理
     *
     * @param qy  文本请求
     * @param msg 要返回的文本内容
     * @return res
     */
    public String handle(WxMsgParam qy, String msg) {
        // 转化为文本消息dto
        ContentDTO dto = new ContentDTO(qy.getFromUserName(), qy.getToUserName(), msg);
        // do sth
        // 返回
        return XmlUtil.toXml(dto);
    }

    @Deprecated
    public String handle(WxMsgParam qy, String msg, HttpSession session) {
        // 转化为文本消息dto
        ContentDTO dto = new ContentDTO(qy.getFromUserName(), qy.getToUserName(), msg);
        // do sth
        // 返回
        return XmlUtil.toXml(dto);
    }
}
